home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / LowMem.idl < prev    next >
Text File  |  1996-05-01  |  5KB  |  166 lines

  1. /*
  2.      File:        LowMem.idl
  3.  
  4.      Contains:    Low Memory Accessor Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __LOWMEM_IDL__
  19. #define __LOWMEM_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __CONTROLS_IDL__
  28. #include <Controls.idl>
  29. #endif
  30. #ifndef __EVENTS_IDL__
  31. #include <Events.idl>
  32. #endif
  33. #ifndef __FILES_IDL__
  34. #include <Files.idl>
  35. #endif
  36. #ifndef __FONTS_IDL__
  37. #include <Fonts.idl>
  38. #endif
  39. #ifndef __MEMORY_IDL__
  40. #include <Memory.idl>
  41. #endif
  42. #ifndef __MENUS_IDL__
  43. #include <Menus.idl>
  44. #endif
  45. #ifndef __OSUTILS_IDL__
  46. #include <OSUtils.idl>
  47. #endif
  48. #ifndef __QUICKDRAW_IDL__
  49. #include <Quickdraw.idl>
  50. #endif
  51. #ifndef __RESOURCES_IDL__
  52. #include <Resources.idl>
  53. #endif
  54. #ifndef __WINDOWS_IDL__
  55. #include <Windows.idl>
  56. #endif
  57.  
  58. #ifdef __SOMIDL__
  59.  
  60. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  61. /*
  62. *************************************************************************************
  63.  
  64.     SIMPLE LOWMEM ACCESSORS
  65.  
  66. *************************************************************************************
  67. */
  68. /*
  69.  To best work with future versions of the window manager,
  70.  avoid using anything defined with FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  71.  Most, if not all of these will still be supported 
  72.  in the next major version of the window manager
  73.  but will trigger non-optimal compatibility code paths that
  74.  should be avoided if possible.
  75. */
  76. /*
  77.  There is no reason to set the window list directly.
  78.  Use BringToFront and SendBehind.
  79.  
  80.  If you need to do floating windows, avoid using GhostWindow 
  81.  and especially avoid patching the window manager.
  82.  
  83.  See Dean Yu's article in Develop 15 about how to implement floating
  84.  windows using low-level window manager calls.  The next generation
  85.  Macintosh Window Manager will have built-in support for floating
  86.  and modal windows.
  87. */
  88. /*
  89.  The auxiliary window record list will be empty in future
  90.  versions of the window manager.  There is no reason to 
  91.  walk it or change it. 
  92. */
  93. /*
  94.  Please rely on the event manager to deliver activate and 
  95.  deactivate events and on the window manager to generate them.
  96.  
  97.  The next generation window manager will queue these events
  98.  rather than just slamming these lowmems with the latest
  99.  generated event, so it pays to rely on the event manager.
  100. */
  101. /*
  102.  Please don't mess with the gray region.  There has
  103.  to be a better way.  If not, please manipulate the
  104.  existing region, don't change the value of the lowmem.
  105. */
  106. /*
  107. *************************************************************************************
  108.  
  109.     MORE COMPLEX LOWMEM ACCESSORS
  110.  
  111. *************************************************************************************
  112. */
  113. #if GENERATING68K && !GENERATINGCFM
  114. /*
  115. *************************************************************************************
  116.     "BIG DATA"
  117.     
  118.         These lowmem accessors access big (> 4 bytes) values.
  119. *************************************************************************************
  120. */
  121. /*
  122. *************************************************************************************
  123.     "BLOCKMOVE ACCESSORS"
  124.     
  125.         These lowmem accessors use the BlockMove trap
  126. *************************************************************************************
  127. */
  128. /*
  129. *************************************************************************************
  130.     "INDEXED ACCESSORS"
  131.     
  132.         These lowmem accessors take an index parameter to get/set an indexed
  133.         lowmem global.
  134. *************************************************************************************
  135. */
  136. #else
  137. /*
  138. *************************************************************************************
  139.     "BIG DATA"
  140.     
  141.         These lowmem accessors access big (> 4 bytes) values.
  142. *************************************************************************************
  143. */
  144. /*
  145. *************************************************************************************
  146.     "BLOCKMOVE ACCESSORS"
  147.     
  148.         These lowmem accessors use the BlockMove trap
  149. *************************************************************************************
  150. */
  151. /*
  152. *************************************************************************************
  153.     "INDEXED ACCESSORS"
  154.     
  155.         These lowmem accessors take an index parameter to get/set an indexed
  156.         lowmem global.
  157. *************************************************************************************
  158. */
  159. #endif
  160. #endif
  161.  
  162. #endif /* __SOMIDL__ */
  163.  
  164. #endif /* __LOWMEM_IDL__ */
  165.  
  166.